Mehr Hacking mit Python by Justin Seitz
Autor:Justin Seitz
Die sprache: deu
Format: epub
Herausgeber: dpunkt.verlag GmbH
veröffentlicht: 2015-07-11T16:00:00+00:00
/**
* This method is used by Burp to obtain the value of the next payload.
*
* @param baseValue The base value of the current payload position.
* This value may be null if the concept of a base value is not
* applicable (e.g. in a battering ram attack).
* @return The next payload to use in the attack.
*/
➋ byte[] getNextPayload(byte[] baseValue);
/**
* This method is used by Burp to reset the state of the payload
* generator so that the next call to
* getNextPayload() returns the first payload again. This
* method will be invoked when an attack uses the same payload
* generator for more than one payload position, for example in a
* sniper attack.
*/
➌ void reset();
}
O.K.! Wir müssen also die Basisklasse implementieren und diese muss drei Funktionen bereitstellen. Die erste Funktion, hasMorePayloads ➊, entscheidet einfach, ob weitere mutierte Requests an den Burp Intruder zurückgegeben werden sollen. Wir handhaben das mit einem einfachen Zähler. Hat dieser Zähler ein von uns festgesetztes Maximum erreicht, liefern wir False zurück, sodass keine weiteren Mutationen generiert werden. Die Funktion getNextPayload ➋ empfängt die Originalnutzdaten des durch Sie abgefangenen HTTP-Requests. Haben Sie mehrere Nutzdatenbereiche im HTTP-Request gewählt, erhalten Sie hingegen nur die Bytes, die Sie mutieren wollen (mehr dazu später). Diese Funktion erlaubt das Fuzzing der ursprünglichen Testdaten, die dann an Burp zurückgegeben werden, der diese neuen Werte anschließend sendet. Die letzte Funktion, reset ➌, erlaubt uns nach der Generierung einer bekannten Anzahl mutierter Requests – sagen wir fünf – für jede im Intruder-Tab festgelegte Nutzdatenposition eine Iteration über diese fünf mutierten Werte.
Unser Fuzzer ist gar nicht so »fussy« (dtsch.: »wählerisch«) und führt für jeden HTTP-Request nur ein zufälliges Fuzzing durch. Sehen wir uns nun an, wie das in Python implementiert wird. Fügen Sie den folgenden Code an das Ende von bhp_fuzzer.py an:
➊ class BHPFuzzer(IIntruderPayloadGenerator):
def __init__(self, extender, attack):
self._extender = extender
self._helpers = extender._helpers
self._attack = attack
➋ self.max_payloads = 10
self.num_iterations = 0
Download
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.
Der Andere by von Schirach Ferdinand(1224)
Also sprach Zarathustra by Friedrich Nietzsche(1153)
Philosophie des Geldes by Georg Simmel(1106)
Physik by Aristoteles(1056)
Bridget Jones 01 - Schokolade zum Fruehstueck by Helen Fiedling(1052)
Organon by Aristoteles(1040)
Die Vögel by Aristophanes(1021)
Gefühle by F.A.Z(1019)
Bridget Jones - Schokolade zum Frühstück by Helen Fielding(1015)
Trump: Think like a Billionaire by Donald J. Trump(1010)
Onlinerecht by Michael Rohrlich(1005)
DIE ZEIT - Nr. 3, 10.01.2013 by Zeitverlag Gerd Bucerius GmbH und Co. KG(1000)
088 by Das Alptraum-Schloß(987)
Homoeopathie fuer Hunde by Hilke Marx-Holena(987)
Theorie der Unbildung: Die Irrtümer der Wissensgesellschaft (German Edition) by Liessmann Konrad Paul(983)
Eine andere Wirklichkeit. Neue Gespräche mit Don Juan by Carlos Castaneda(975)
Mehr Hacking mit Python by Justin Seitz(971)
Darwin und der Darwinismus by Wuketits Franz M(956)
Menschliches, Allzumenschliches by Friedrich Nietzsche(954)